﻿using FlyingEye.MySqlApplication.Models;
using Volo.Abp.DependencyInjection;

namespace FlyingEye.MySqlApplication
{
    public interface IUserService : ITransientDependency
    {
        Task RegisterUserAsync(string creationUserName, User newUser);

        Task RegisterUserAsync(User newUser);

        Task UnregisterUserByNameAsync(string name);

        Task UpdateUserNameAsnyc(User user, string newName);

        Task UpdateUserPasswordAsync(User user, string newPassword);

        Task<string> LoginForeverAsync(LoginUser user);

        Task<string> LoginAsync(LoginUser user, TimeSpan timeSpan);

        Task<User> GetUserByIdAsync(Guid userId);
    }
}
